Tootsville::Infinity-Speak

Function

Infinity-Speak names a function, with lambda list (D USER RECIPIENT/S):

The user speaks SPEECH at volume VOL in public.

Lisp SPEAK = JSON speak

Handle speech by the user.

Speech is public to all users in an area.

Usage

{ c: "speech",
  d: { speech: "text to be spoken",
       vol: ( "shout" | "talk" | "whisper" ) } }

key --- WRITEME --- optional --- currently ignored

vol --- Volume is one of talk, shout, or whisper. The default is always talk. vol is optional.

Speech filtering

There are two kinds of filtering on text: foul language, and obnoxious typing.

Foul language filtering occurs when there are children or sensitive players nearby (blacklist), and in all cases for certain stopwords (redlist).

See TOOTSVILLE CASSANDRA-FILTER.

Obnoxious typing filtering occurs all the time, and undoes a couple of things that are --- well, just plain obnoxious.

See TOOTSVILLE CASSANDRA-OBNOXIOUS-FILTER.

Special character handling

The first character of the speech can turn it into a special command of some kind.

~

Commands beginning with ~ should be handled by the client. A conforming client should never forward any command beginning with ~ to the server.

#
Server commands begin with # (sharp sign / octothorpe / hash sign). A server command is any unary function in the Tootsville-User package. See TOOTSVILLE PARSE-OPERATOR-COMMAND for details.

@
@-messages are whispered directly to the named character, if they are located somewhere in the nearby area. For example, @Catvlle Hello! will whisper the phrase Hello! to only the player Catvlle.

/
Emotes begin with /. Emotes set the expression of the character to one of a predefined list of expresssions, or display an emoji speech balloon.

Why these specific emojis? Backward compatiblity. This list of emotes was inherited from Tootsville IV.

The emoji items might be replaced with more detailed animations in the future.

A few of the emotes actually have even more complex behavior, as noted in the index below.

smile
The expression on the character's face should change to a smile.
frown
The expression on the character's face should change to a frown.
wink
The character should make an excaggerated wink.
sick
The expression on the character's face should change to disgust.
whoa
The expression on the character's face should change to surprise.
cool
An emoji of a smiling face wearing sunglasses.
cheese
The expression on the character's face should change to a smile with tongue stuck out.
angry
The expression on the character's face should change to anger.
silly
The expression on the character's face should change to a silly face.
sleep
The character's face should look as though they are sleeping. Also, a special “Zzz” graphic should appear over their head.
meh
The expression on the character's face should change to disinterest.
cry
The character should begin to cry.
pizza
An emoji of a pizza.
burger
An emoji of a burger.
hotdog
An emoji of an hot dog.
fries
An emoji of a pack of French fries.
drink
An emoji of a glass of an unidentified beverage.
icecream
An emoji of ice cream.
cake
An emoji of a slice of cake.
game
WRITEME
dice
An emoji will be spoken showing a single 6-sided die; however, the number of pips shown (1-6) will be random.
coin
An emoji will be spoken showing a coin; however, whether that coin shows as head or tails will be random.
heart
A heart emoji
broken
A broken heart emoji
rps
An emoji will appear with a random selection from: rock, paper, scissors.
music
A musical note emoji.
rainbow
A rainbow emoji.
lol
The character's expression should change to laughter.
rain
A raincloud emoji.
huh
The character's expression should change to confusion.

% _ ^ |

These characters are reserved for future use. You cannot speak a line beginning with them.

? !

For convenience of Spanish speakers, sentences beginning with ? or ! are converted into ¿ and ¡.

UNIMPLEMENTED

Special commands

,credits
Speaking ,credits will send the server's credits as an admin message.

,disconnect
Speaking ,disconnect will immediately drop the client's connection without ceremony; it's used for testing the auto-reconnection code.

,dumpthreads
This will log all active threads to the server log. Note that it is not an operator command in this context, but it is identical to the operator command #dumpthreads.

Changes from 1.2 to 2.0

WRITEME

File

Defined in file src/infinity/legacy-commands.lisp.